package com.chang.common.controller;

import com.chang.common.bean.ResultBean;

/**
 * @program: erp-api
 * @description:
 * @author: chang
 * @create: 2025-02-14 14h
 **/

/**
 * 基础的控制类
 */
public class BaseController {
    /**
     * 请求成功
     *
     * @param msg 请求成功的消息描述
     * @return
     */
    protected ResultBean success(String msg) {
        return handler(ApiCode.SUCCESS, msg, null);
    }

    /**
     * 请求成功
     *
     * @param msg  成功的消息描述
     * @param data 接口返回的数据
     * @return
     */
    protected ResultBean success(String msg, Object data) {
        return handler(ApiCode.SUCCESS, msg, data);
    }

    /**
     * 增删改查的结果
     * @param rs
     * @return
     */
    protected ResultBean saveResult(int rs){
        return rs==1? success("保存成功"):fail("保存失败");
    }

    protected ResultBean updateResult(int rs){
        return rs==1? success("修改成功"):fail("修改失败");
    }

    protected ResultBean deleteResult(int rs){
        return rs==1? success("删除成功"):fail("删除失败");
    }

    /**
     * 请求失败
     *
     * @param msg 失败消息描述
     * @return
     */
    protected ResultBean fail(String msg) {
        return handler(ApiCode.FAIL, msg, null);
    }

    /**
     * 请求失败
     *
     * @param msg  失败的消息描述
     * @param data 失败的详细数据
     * @return
     */
    protected ResultBean fail(String msg, Object data) {
        return handler(ApiCode.FAIL, msg, data);
    }

    /**
     * @param code
     * @param msg
     * @param data
     * @return
     */
    ResultBean handler(int code, String msg, Object data) {
        return new ResultBean(code, msg, data);
    }

}
